gl renderer: Fix cross-fade nodes with invisible end child
authorTimm Bäder <mail@baedert.org>
Sun, 21 Jun 2020 05:45:50 +0000 (07:45 +0200)
committerTimm Bäder <mail@baedert.org>
Sat, 27 Jun 2020 08:51:06 +0000 (10:51 +0200)
Only loading the vertex data doesn't draw anything.

gsk/gl/gskglrenderer.c

index b626c9e7ce09638a0e0c7046bdfa3b6b56a9db3a..130971e7b969d7806d6641fbb04ea41aa9cf2e38 100644 (file)
@@ -2277,11 +2277,10 @@ render_cross_fade_node (GskGLRenderer   *self,
                           &end_region, &is_offscreen2,
                           FORCE_OFFSCREEN | RESET_CLIP | RESET_OPACITY))
     {
-      load_vertex_data_with_region (ops_draw (builder, NULL),
-                                    node,
-                                    builder,
-                                    &start_region,
-                                    TRUE);
+      const float prev_opacity = ops_set_opacity (builder, builder->current_opacity * progress);
+      gsk_gl_renderer_add_render_ops (self, start_node, builder);
+      ops_set_opacity (builder, prev_opacity);
+
       return;
     }